package com.rui.generator.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 代码生成 Entity
 *
 * @author xr
 * @email xr@qq.com
 * @date 2020-01-01 00:00:00
 */
@ApiModel("代码生成")
@AllArgsConstructor
@NoArgsConstructor
public class Generator {
    @ApiModelProperty("数据库表")
    private Table table;
    @ApiModelProperty("列的集合")
    private List<Column> columns;

    /* 扩展 */

    @ApiModelProperty("主键")
    private Column pkColumn;
    @ApiModelProperty("类名(首字母大写)")
    private String className;
    @ApiModelProperty("类名(首字母小写)")
    private String classname;
    @ApiModelProperty("路径(纯小写)")
    private String pathName;
    @ApiModelProperty("是否包含BigDecimal类型")
    private Boolean hasBigDecimal;
    @ApiModelProperty("是否包含Date类型")
    private Boolean hasDate;
    @ApiModelProperty("项目路径(com.rui)")
    private String mainPath;
    @ApiModelProperty("包路径(com.rui)")
    private String packageName;
    @ApiModelProperty("模块名")
    private String moduleName;
    @ApiModelProperty("作者")
    private String author;
    @ApiModelProperty("邮箱")
    private String email;
    @ApiModelProperty("时间")
    private String datetime;

    private String secModuleName;

    public String getSecModuleName() {
        return secModuleName;
    }

    public void setSecModuleName(String secModuleName) {
        this.secModuleName = secModuleName;
    }

    public Generator(Table table, List<Column> columns) {
        this.table = table;
        this.columns = columns;
    }

    public Table getTable() {
        return table;
    }

    public void setTable(Table table) {
        this.table = table;
    }

    public List<Column> getColumns() {
        return columns;
    }

    public void setColumns(List<Column> columns) {
        this.columns = columns;
    }

    public Column getPkColumn() {
        return pkColumn;
    }

    public void setPkColumn(Column pkColumn) {
        this.pkColumn = pkColumn;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getClassname() {
        return classname;
    }

    public void setClassname(String classname) {
        this.classname = classname;
    }

    public String getPathName() {
        return pathName;
    }

    public void setPathName(String pathName) {
        this.pathName = pathName;
    }

    public Boolean getHasBigDecimal() {
        return hasBigDecimal;
    }

    public void setHasBigDecimal(Boolean hasBigDecimal) {
        this.hasBigDecimal = hasBigDecimal;
    }

    public Boolean getHasDate() {
        return hasDate;
    }

    public void setHasDate(Boolean hasDate) {
        this.hasDate = hasDate;
    }

    public String getMainPath() {
        return mainPath;
    }

    public void setMainPath(String mainPath) {
        this.mainPath = mainPath;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDatetime() {
        return datetime;
    }

    public void setDatetime(String datetime) {
        this.datetime = datetime;
    }
}
